package com.jjc.MyWebApp.Routes;

import com.jfinal.core.Controller;
import com.jfinal.i18n.Res;
import com.jfinal.render.JsonRender;
import com.jjc.MyWebApp.Constant.I18nConstant;
import com.jjc.MyWebApp.Constant.WebContextConstant;
import com.jjc.MyWebApp.Model.AjaxModel.JsonModel;
import com.jjc.MyWebApp.Model.User;


/**
 * Created by jiaji on 2017/5/8.
 */
public class BaseController extends Controller {
    /**
     * 获取当前登陆用户
     */
    public User getCurrentUser(){
        User user=getAttr(WebContextConstant.current_User);
        setAttr(WebContextConstant.current_User,user);
        return user;
    }

    /**
     * 获取国际化资源值
     *
     * @param key
     * @return
     */
    public String getI18nVal(String key) {
        Res res = getAttr(I18nConstant.I18n_Res_Name);
        return res.get(key);
    }

    /**
     * 重写renderJson，避免出现IE8下出现下载弹出框
     */
    @Override
    public void renderJson(Object object) {
        String userAgent = getRequest().getHeader("User-Agent");
        if (userAgent.toLowerCase().indexOf("msie") != -1) {
            render(new JsonRender(object).forIE());
        } else {
            super.renderJson(object);
        }
    }

    /**
     * 自定义render 返回Json格式信息
     *
     * @param Msg
     */
    public void renderSuccess(String Msg) {
        renderJson(new JsonModel(0, Msg, null));
    }

    /**
     * 自定义render 返回Json格式信息
     *
     * @param Msg
     * @param data
     */
    public void renderSuccess(String Msg, Object data) {
        renderJson(new JsonModel(0, Msg, data));
    }

    /**
     * 自定义render 返回Json格式信息
     *
     * @param Msg
     */
    public void renderError(String Msg) {
        renderJson(new JsonModel(0, Msg, null));
    }

    /**
     * 自定义render 返回Json格式信息
     *
     * @param Msg
     * @param data
     */
    public void renderError(String Msg, Object data) {
        renderJson(new JsonModel(0, Msg, data));
    }

}
